User loginNavigation |
Misc NewsI'm back... Going through my RSS feeds, two items caught my attention: Tim Bray: Charles Nutter and Thomas Enebo, better known as “The JRuby Guysâ€, are joining Sun this month. Jon Udell: Why argue about dynamic versus static languages when you can use both? Which discusses, among other things, why the first three versions of the IronPython compiler were written in Python, but today it's written in C#. By Ehud Lamm at 2006-09-09 08:48 | Cross language runtimes | General | Ruby | 7 comments | other blogs | 8548 reads
Topology in Programming Language SemanticsA recent story over at Ars Mathematica reminded me that I have seen a lot of interesting work in applying topology to programming language semantics. The paper linked-to on Ars Mathematica is more about applications to software engineering (precise notion of refinement, but since implementations are the ultimate refinement of a specification, this is quite relevant to PLs as well). But there is a lot more work in this area! For those with a theoretical bent, there are a series of articles by John Tucker and Jeffery (Jeff) Zucker, for example Abstract versus Concrete Computation on Metric Partial Algebras (many more available from their respective web pages). Another thread that I like is the work of Abbas Edalat; he has written many papers relating topology, domain theory and computations in analysis. I am particularly fond of the work of Martin Escardo; the lecture notes on Mathematical foundations of functional programming with real numbers might interest a few people here. But as far as I am concerned (and Haskell fans might agree), his Magnum Opus is Synthetic topology of data types and classical spaces. By Jacques Carette at 2006-09-03 14:13 | General | login or register to post comments | other blogs | 14542 reads
VacationI am going to be away until the end of next week. I hope you enjoy yourselves while I am gone. By Ehud Lamm at 2006-09-01 09:29 | Admin | login or register to post comments | other blogs | 6344 reads
Gradual Typing for Functional LanguagesGradual Typing for Functional Languages
In other news, the Holy Grail has been found. Film at 11. This piece of genius is the combined work of Jeremy Siek, of Boost fame, and Walid Taha, of MetaOCaml fame. The formalization of their work in Isabelle/Isar can be found here. I found this while tracking down the relocated Concoqtion paper. In that process, I also found Jeremy Siek's other new papers, including his "Semantic Analysis of C++ Templates" and "Concepts: Linguistic Support for Generic Programming in C++." Just visit Siek's home page and read all of his new papers, each of which is worth a story here. By Paul Snively at 2006-08-30 17:49 | Functional | Implementation | Lambda Calculus | Semantics | Type Theory | 18 comments | other blogs | 40945 reads
Reflective Program Generation with PatternsReflective Program Generation with Patterns. Manuel Fähndrich, Michael Carbin, James R. Larus. October 2006.
Macros, multi-staged programming etc. are the appropriate buzzowrds. LtU readers will probably be interested in the STM example (see sec. 7.1) By Ehud Lamm at 2006-08-30 07:33 | Meta-Programming | Software Engineering | login or register to post comments | other blogs | 6655 reads
Lightweight Static Capabilitites (II)The slides for the talk discussed here are now available for download. Like all of Ken and Oleg's work, this stuff is both cool and important. Keep in mind that the talk is quite different from the paper. The safety claims were formalized and proved in Twelf: list example, array example. To follow the proofs you should read them alongside the presentation slides. I am told that the first file might change soon, to reflect a more general proof. Perhaps Ken or Oleg would like to comment on the experience of doing mechanized proofs, a subject the comes up regularly on LtU. LtU newcomers, who already managed to take in a little Haskell or ML, may want to spend a little time chewing on this, and ask questions if something remains unclear, since this work may eventually have practical importance, and can teach quite a few interesting techniques. By Ehud Lamm at 2006-08-29 08:34 | Semantics | Software Engineering | Type Theory | 1 comment | other blogs | 9381 reads
The Daikon Invariant Detector
I spend a lot of time here talking about static typing, but let's face it: most often we're dealing with existing code that probably isn't written in a language with a very expressive type system, and rarely has been formally specified, whether through an expressive type system or otherwise. Daikon is interesting because it attempts to learn important properties of a piece of software by execution and observation. Combine it with a model checker like Java PathFinder, and you have an unusually powerful means of evolving the correctness of even quite complex code. There's also a relationship to the already-mentioned JML and ESC/Java 2, which in turn has a connection to the popular JUnit unit-testing framework. In short, the gap between compile time and runtime, and static vs. dynamic typing, seems to be narrowed in powerful ways by these, and related, tools. By Paul Snively at 2006-08-28 01:12 | Semantics | Software Engineering | 1 comment | other blogs | 10393 reads
Declarative Networking: Language, Execution and OptimizationDeclarative Networking: Language, Execution and Optimization, Boon Thau Loo, Tyson Condie, Minos Garofalakis, David A. Gay, Joseph M. Hellerstein, Petros Maniatis, Raghu Ramakrishnan, Timothy Roscoe and Ion Stoica.
I will be the first to admit that I somehow fundamentally do not get the logic programming style, but presenting a routing discovery protocol in about eight lines of code is pretty cool. By Tommy McGuire at 2006-08-23 22:46 | DSL | Logic/Declarative | 2 comments | other blogs | 8828 reads
ESC not just for Java any more
Dana N. Xu's ESC/Haskell:
I this paper, we describe an extended static checking tool for Haskell, named ESC/Haskell, that is based on symbolic computation and assisted by a few novel properties. One novelty is our use of Haskell as the specification language itself for pre/post conditions. Verified Software: Theories, Tools, and ExperimentsVerified Software: Theories, Tools, and Experiments, VSTTE 2006, Workshop proceedings. K. Rustan M. Leino; Wolfram Schulte. August 2006. The papers are:
|
Browse archives
Active forum topics |
Recent comments
2 weeks 3 days ago
2 weeks 4 days ago
2 weeks 5 days ago
2 weeks 5 days ago
3 weeks 3 days ago
3 weeks 3 days ago
3 weeks 3 days ago
6 weeks 4 days ago
7 weeks 2 days ago
7 weeks 2 days ago